/**
 * Copyright 2017 orivil Authors. All rights reserved.
 * Use of this source code is governed by a MIT-style
 * license that can be found at https://mit-license.org.
 */

package swagger

// {
//	"name": "status",
//	"in": "query",
//	"description": "Status values that need to be considered for filter",
//	"required": true,
//	"type": "array",
//	"items": {
//		"type": "string",
//		"enum": [
//			"available",
//			"pending",
//			"sold"
//		],
//	"default": "available"
// }

type Items struct {
	Ref string `json:"$ref,omitempty"`

	// Required.
	// The internal type of the array.
	// The value MUST be one of "string", "number", "integer", "boolean", or "array".
	// Files and models are not allowed.
	Type string `json:"type"`

	// The extending format for the previously mentioned type.
	// See Data Type Formats(http://swagger.io/specification/#dataTypeFormat) for further details.
	Format string `json:"format,omitempty"`

	// Required if type is "array". Describes the type of items in the array.
	Items *Items `json:"items,omitempty"`

	// Determines the format of the array if type array is used. Possible values are:
	//	csv - comma separated values foo,bar.
	//	ssv - space separated values foo bar.
	//	tsv - tab separated values foo\bar.
	//	pipes - pipe separated values foo|bar.
	// Default value is csv.
	CollectionFormat string `json:"collectionFormat,omitempty"`

	// Declares the value of the item that the server will use if none is provided.
	// (Note: "default" has no meaning for required items.)
	// See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-6.2.
	// Unlike JSON Schema this value MUST conform to the defined type for the data type.
	Default interface{} `json:"default,omitempty"`

	Validation
}
